package cc.verywell.pureblock.msg.p2p;

import cc.verywell.pureblock.net.Msg;

/**
* 
* Copyright 2019 TanYaqiu
* @author TanYaqiu 
* @address flat 601
* @date 2019年3月15日 下午11:30:55
*/
public interface MsgCodec extends Msg {
	public byte getMsgCode();
	
//	static public enum P2p{
//		TimePing((byte)1),
//		TimePong((byte)2),
//		Goodbye((byte)4),
//		PeersWant((byte)5),
//		PeersTake((byte)6);
//		
//		final static P2p[] V;
//		static {
//			V = new P2p[7];
//			for (P2p p2p : P2p.values()) {
//				
//			}
//		}
//		
//		final public byte code;
//		private P2p(byte c) {
//			this.code = c;
//		}
//	}
	
	
//	static public byte[] msgHead(byte[] b,int code) {
//		for (int i = b.length-1; i >=0 ; i--) {
//			b[i] = (byte)(0xFF & code);
//			code >>>=8 ;
//		}
//		return b;
//	}
//	static public int msgHeadLength(int codeLength) {
//		int i = 0;
//		while(codeLength!=0) {
//			codeLength >>>=8 ;
//			i++;
//		}
//		return i;
//	}
//	default public int msgHead() {
//		byte[] msg = getMsgHead();
//		int code = 0;
//		for (byte b : msg) {
//			code <<= 8;
//			code |= (0xFF & b);
//		}
//		return code;
//	}
//	public byte[] getMsgHead();
	
}
